package com.boom.monitor.util;

import java.text.DecimalFormat;

/**
 * @author:yzw
 * @Date:2021/3/31 下午4:32
 * @desc: 格式化单位
 * @version:1.0
 */
public class FormatterUnitUtils {

	private static final int SIZE = 1024;

	/**
	 * @param value
	 * @param unit
	 * @return java.lang.String
	 * @desc 格式化存储单位
	 * @author yzw
	 * @time 2021/2/26 上午11:48
	 */
	public static String formatterG(long value, long unit) {
		DecimalFormat decimalFormat = new DecimalFormat("#0.00");
		return decimalFormat.format((float) value / unit) + "G";
	}

	/**
	 * @param value
	 * @return java.lang.String
	 * @desc 格式化存储单位
	 * @author yzw
	 * @time 2021/2/26 上午11:48
	 */
	public static String formatterG(int value) {
		DecimalFormat decimalFormat = new DecimalFormat("#0.00");
		return decimalFormat.format((float) value / SIZE) + "G";
	}

	public static String formatterUnit(long value) {
		if (value <= 0) {
			return "-";
		}
		long g = SIZE * SIZE * SIZE;
		long m = SIZE * SIZE;
		DecimalFormat decimalFormat = new DecimalFormat("#0.00");
		if (value > g) {
			return decimalFormat.format((float) value / g) + "G";
		} else if (value > m) {
			return decimalFormat.format((float) value / m) + "M";
		} else {
			return value + "K";
		}
	}

	/**
	 * 首字母转化为小写
	 *
	 * @param value
	 * @return java.lang.String
	 * @author yzw
	 * @time 2021/3/31 下午5:27
	 */
	public static String firstCharCase(String value) {
		String firstCharLowerCase = value.substring(0, 1).toLowerCase();
		return value.replaceFirst("[A-Z]", firstCharLowerCase);
	}
}
